// stack.h -- class definition for the stack ADT

#ifndef STARTCPP_STACK_H
#define STARTCPP_STACK_H 0x00

typedef unsigned long Item;

class Stack {
private:
    enum {MAX = 10};    // constant specific to class
    Item items[MAX];    // holds stack items
    int top;            // index for top stack item
public:
    Stack();
    bool isempty() const;
    bool isfull() const;
    // push() returns false if stack already is full, true otherwise
    bool push(const Item & item);
    // pop() returns false if stack already is empty, true otherwise
    bool pop(Item & item);
};


#endif //STARTCPP_STACK_H
